Reducing memory fragmentation in network applications with dynamic memory allocators optimized for performance

نویسندگان

  • Stylianos Mamagkakis
  • Christos Baloukas
  • David Atienza
  • Francky Catthoor
  • Dimitrios Soudris
  • Adonios Thanailakis
چکیده

The needs for run-time data storage in modern wired and wireless network applications are increasing. Additionally, the nature of these applications is very dynamic, resulting in heavy reliance on dynamic memory allocation. The most significant problem in dynamic memory allocation is fragmentation, which can cause the system to run out of memory and crash, if it is left unchecked. The available dynamic memory allocation solutions are provided by the real-time Operating Systems used in embedded or general-purpose systems. These state-of-the-art dynamic memory allocators are designed to satisfy the run-time memory requests of a wide range of applications. Contrary to most applications, network applications need to allocate too many different memory sizes (e.g., hundreds different sizes for packets) and have an extremely dynamic allocation and de-allocation behavior (e.g., unpredictable web-browsing activity). Therefore, the performance and the de-fragmentation efficiency of these allocators is limited. In this paper, we analyze all the important issues of fragmentation and the ways to reduce it in network applications, while keeping the performance of the dynamic memory allocator unaffected or even improving it. We propose highly customized dynamic memory allocators, which can be configured for specific network needs. We assess the effectiveness of the proposed approach in three representative real-life case studies of wired and wireless network applications. Finally, we show very significant reduction in memory fragmentation and increase in performance compared to state-of-the-art dynamic memory allocators utilized by real-time Operating Systems. 2006 Elsevier B.V. All rights reserved.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Reducing Memory Fragmentation with Performance-Optimized Dynamic Memory Allocators in Network Applications

The needs for run-time data storage in modern wired and wireless network applications are increasing. Additionally, the nature of these applications is very dynamic, resulting in heavy reliance on dynamic memory allocation. The most significant problem in dynamic memory allocation is fragmentation, which can cause the system to run out of memory and crash, if it is left unchecked. The available...

متن کامل

Open Source Memory Allocators on HP-UX

A number of Open Source Memory Allocators are available today. Each of these allocators uses a different approach to memory management and the effectiveness of each algorithm depends on the particular requirements of the application. Our main aim is to make the well known Open Source memory allocators available on HP-UX, thus providing the customer with a range of allocators to choose from for ...

متن کامل

Alin Jula

The performance of memory allocators is a significant contributor to the overall performance of dynamic applications. A good memory allocator is fast, maximizes locality of access and minimizes fragmentation. In this paper we first introduce two novel memory allocators, TP and Medius, which can be tuned to optimize the three characteristics of memory allocation. These allocators can take locali...

متن کامل

Register Efficient Memory Allocator for GPUs

We compare four existing dynamic memory allocators optimized for GPUs and show their strengths and weaknesses. In the measurements we use three generic evaluation tests proposed in the literature and add one with a real workload where dynamic memory allocation is used for building the kd-tree data structure. Following the performance analysis we propose a new dynamic memory allocator and its va...

متن کامل

Security of memory allocators for C and C++

Most memory allocators ignore security issues. Instead they focus on maximizing performance and limiting fragmentation and waste. While these are very important issues for a memory allocator, in the days of worms that use code injection attacks to cause significant economical damage, security can not be ignored. This paper evaluates a representative set of commonly used memory allocators for C ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • Computer Communications

دوره 29  شماره 

صفحات  -

تاریخ انتشار 2006